Telegram Group & Telegram Channel
How to: внедряем Jetpack Compose в существующий проект

Хотите использовать современный Compose, но проект уже написан на XML-вёрстке? Разберём, как добавить Compose без переписывания всего кода.

1️⃣ Подготовка проекта

Добавьте зависимости в build.gradle:

android {  
buildFeatures {
compose true
}
}
dependencies {
implementation "androidx.compose.ui:ui:1.6.0"
implementation "androidx.compose.material:material:1.6.0"
}


2️⃣ Гибридный подход

Используйте ComposeView в XML-разметке:

<androidx.compose.ui.platform.ComposeView  
android:id="@+id/compose_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />


И настраивайте из кода:

findViewById<ComposeView>(R.id.compose_view).setContent {  
Text("Это Compose внутри старого XML!")
}


3️⃣ Постепенная миграция

🔘 Начинайте с новых экранов
🔘 Рефакторите простые элементы (кнопки, карточки)
🔘 Используйте Compose для сложных анимаций

4️⃣ Совместная работа View и Compose

Для взаимодействия между частями:

// View → Compose  
composeView.setContent {
MyComposeScreen(onClick = { /* обработка */ })
}

// Compose → View
AndroidView({ TextView(context) }) { view ->
view.text = "Текст из Compose"
}


Уже пробовали мигрировать на Compose? Делитесь опытом в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/mobileproglib/5916
Create:
Last Update:

How to: внедряем Jetpack Compose в существующий проект

Хотите использовать современный Compose, но проект уже написан на XML-вёрстке? Разберём, как добавить Compose без переписывания всего кода.

1️⃣ Подготовка проекта

Добавьте зависимости в build.gradle:

android {  
buildFeatures {
compose true
}
}
dependencies {
implementation "androidx.compose.ui:ui:1.6.0"
implementation "androidx.compose.material:material:1.6.0"
}


2️⃣ Гибридный подход

Используйте ComposeView в XML-разметке:

<androidx.compose.ui.platform.ComposeView  
android:id="@+id/compose_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />


И настраивайте из кода:

findViewById<ComposeView>(R.id.compose_view).setContent {  
Text("Это Compose внутри старого XML!")
}


3️⃣ Постепенная миграция

🔘 Начинайте с новых экранов
🔘 Рефакторите простые элементы (кнопки, карточки)
🔘 Используйте Compose для сложных анимаций

4️⃣ Совместная работа View и Compose

Для взаимодействия между частями:

// View → Compose  
composeView.setContent {
MyComposeScreen(onClick = { /* обработка */ })
}

// Compose → View
AndroidView({ TextView(context) }) { view ->
view.text = "Текст из Compose"
}


Уже пробовали мигрировать на Compose? Делитесь опытом в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст

BY Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck




Share with your friend now:
tg-me.com/mobileproglib/5916

View MORE
Open in Telegram


Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck Telegram | DID YOU KNOW?

Date: |

For some time, Mr. Durov and a few dozen staffers had no fixed headquarters, but rather traveled the world, setting up shop in one city after another, he told the Journal in 2016. The company now has its operational base in Dubai, though it says it doesn’t keep servers there.Mr. Durov maintains a yearslong friendship from his VK days with actor and tech investor Jared Leto, with whom he shares an ascetic lifestyle that eschews meat and alcohol.

Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck from us


Telegram Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
FROM USA